var FormMgr = {
	/**
	 * FormMgr.initForm(cfgArr)
	 * @param {Object} cfgArr
	 */
	initForm : function(cfgArr){
		if(!cfgArr || cfgArr.length == 0) return;
		for(var i=0,count=cfgArr.length; i<count; i++){
			var cfg = cfgArr[i];
			var eleId = cfg.id;
			var emptyText = cfg.emptyText;
			var type = cfg.type;
			if(!eleId) continue;
			var j_ele = $('#'+eleId);
//			j_ele.val(emptyText);
			j_ele.attr("placeholder",emptyText);
			var ele = CmwMcore.$(eleId);
			MeventMgr.onKeydown(ele,function(event,self){
				//var _emptyText = self.getAttribute("emptyText");
//				$(self).css({"color":"black","font-size":"14px"});
			/*	var val = $(self).val();
				if(val){
					val = val.replace(_emptyText, "");
					$(self).val(val);
				}*/
			});
			if(type == 'pwd'){
				MeventMgr.onKeyup(ele,function(event,self){
					var val = $(self).val();
					var inputType = $(self).attr("type");
					if(val && inputType != "password"){
						$(self).attr("type","password");
					}
				});
			}
			
			MeventMgr.onBlur(ele,function(event,self){
				//var _emptyText = self.getAttribute("emptyText");
				var val = $(self).val();
				if(!val){
					var inputType = $(self).attr("type");
					if(type == 'pwd' && inputType == "password") $(self).attr("type","text");
					//$(self).css({"color":"gray","font-size":"13px"});
					/*val = _emptyText;
					$(self).val(val);*/
				}
			});
		}
	},
	/**
	 * 将指定的表单字段数组清空 
	 * @param {Object} fieldIds	字段ID数组
	 * @param isEmptyText  是否重置为默认文本 [true:是,false:清空文本框]
	 */
	resetFields : function(fieldIds,isEmptyText){
		if(!fieldIds || fieldIds.length == 0) return;
		for(var i=0,count=fieldIds.length; i<count; i++){
			var fieldId = fieldIds[i];
			var field =  $("#"+fieldId);
			var type = field.attr("type");
			switch(type){
				case 'select-one':{
					field.removeAttr("selected");
					break;
				}case 'radio':
				case 'checkbox':{
					field.removeAttr("checked");
					break;
				}default :{
					var reset_val = "";
					if(isEmptyText){
						reset_val =  field.attr("emptyText");
					}
					field.val(reset_val);
				}
			}
		}
	},
	checkCardId : function(socialNo){  
  	
      if(!socialNo){  
        return "输入身份证号码不能为空!";  
      }  
  
      if (socialNo.length != 15 && socialNo.length != 18){  
        return "输入身份证号码格式不正确!";  
      }  
          
      var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};   
         
      if(area[parseInt(socialNo.substr(0,2))]==null) {  
       	return "身份证号码不正确(地区非法)!";  
      }   
              
      if (socialNo.length == 15){  
         pattern= /^\d{15}$/;  
         if (pattern.exec(socialNo)==null){  
            return "15位身份证号码必须为数字！";  
        }  
        var birth = parseInt("19" + socialNo.substr(6,2));  
        var month = socialNo.substr(8,2);  
        var day = parseInt(socialNo.substr(10,2));  
        switch(month) {  
            case '01':  
            case '03':  
            case '05':  
            case '07':  
            case '08':  
            case '10':  
            case '12':  
                if(day>31) {  
                    return '输入身份证号码不格式正确!';  
                }  
                break;  
            case '04':  
            case '06':  
            case '09':  
            case '11':  
                if(day>30) {  
                    return '输入身份证号码不格式正确!';  
                }  
                break;  
            case '02':  
                if((birth % 4 == 0 && birth % 100 != 0) || birth % 400 == 0) {  
                    if(day>29) {  
                        return '输入身份证号码不格式正确!';  
                    }  
                } else {  
                    if(day>28) {  
                        return '输入身份证号码不格式正确!';  
                    }  
                }  
                break;  
            default:  
                return '输入身份证号码不格式正确!';  
        }  
        var nowYear = new Date().getYear();  
        if(nowYear - parseInt(birth)<15 || nowYear - parseInt(birth)>100) {  
            return '输入身份证号码不格式正确!';  
        }  
        return null;  
      }  
        
      var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);  
      var lSum = 0;  
      var nNum = 0;  
      var nCheckSum = 0;  
        
       for (i = 0; i < 17; ++i){
            if ( socialNo.charAt(i) < '0' || socialNo.charAt(i) > '9' ){  
                return "输入身份证号码格式不正确!";  
            }else{  
                nNum = socialNo.charAt(i) - '0';  
            }  
             lSum += nNum * Wi[i];  
        }  
  
        
        if( socialNo.charAt(17) == 'X' || socialNo.charAt(17) == 'x'){  
            lSum += 10*Wi[17];  
        }else if ( socialNo.charAt(17) < '0' || socialNo.charAt(17) > '9' ){  
            return "输入身份证号码格式不正确!";  
        }else{  
            lSum += ( socialNo.charAt(17) - '0' ) * Wi[17];  
        }  
          
        if ((lSum % 11) == 1 ){  
            return null;  
        }else{  
            return "输入身份证号码格式不正确!";  
        }
        
    		return null;
	}  
}
